// 引入React核心库
import React from "react";

// 引入ReactDOM
// import ReactDOM from "react-dom";
import { createRoot } from "react-dom/client";

// 引入路由，并在下面渲染App组件的外侧包裹一层BrowserRouter
import { BrowserRouter } from "react-router-dom";

import store from "./redux/store";

//引入App组件
import App from './App'

// ReactDOM.render(<App />, document.getElementById('root'))
const root = createRoot(document.getElementById('root'))
root.render(<BrowserRouter><App /></BrowserRouter>);

// !注意新的渲染方式createRoot，以及createRoot的引入方式

// redux里的数据一旦被修改，就重新渲染页面，但是由于diff算法的原因，真正被重新渲染的组件/元素不是很多，所以不用担心性能
store.subscribe(_ => {
  root.render(<BrowserRouter><App /></BrowserRouter>);
})